<template>
	<view class="content">
		<view class="denglutitle">
			<text>欢迎登录夜读书</text>
		</view>
		<view class="denglufangshi">
			<text class="wxlogin" @click="getUserProfile()">微信登录</text>
			<navigator class="zhlogin" :url="'../login/zhanghaodenglu'">
				<text class="">帐号密码登录</text>
			</navigator>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				openid: '', // 用户唯一标识
				unionid:'', // 开放平台唯一标识（若当前小程序已绑定到微信开放平台帐号）
				session_key: '', // 会话密钥
				username: '', // 用户昵称
				touxiang: '', // 用户头像
				sex: '', // 性别
				// phonenumber: '', // 电话号码
				province: '', // 省
				city: '', // 市
				
			}
		},
		onLoad() {
			this.getUserInfo();
		},
		methods: {
			getUserInfo(res) {
				// console.log(res);
				let that = this;
			    uni.login({
			        provider: 'weixin',
			        success: function(loginRes) {
			            console.log('获得code等信息：' + loginRes.code);
						// 微信登录成功,拿到code
						let code = loginRes.code; 
						// 使用 code 换取 openid 和 session_key 等信息
						uni.request({
							url: 'https://www.yedushu.cn/api/getopenid',
							method:'POST',
							data: {
								js_code: code, //  wx.login 登录成功后的code
								//appid: that.appid, // 你的小程序的AppID - 微信小程序后台获得
								//secret: that.secret, // 你的小程序的AppSecret - 微信小程序后台获得								
								//grant_type: 'authorization_code' // 授权类型，此处只需填写 authorization_code
							},
							success: (cts) => {
								// 换取成功后 暂存这些数据 留作后续操作
								// console.log('auth.code2Session:获得session:' + cts);								
								// console.log("解密后的数据："+ cts.data);
								console.log('openid:' + cts.data.openid + '//'  + 'unionid:' + cts.data.unionid + '//' + 'session_key:' + cts.data.session_key);
								that.openid = cts.data.openid;    // openid 用户唯一标识
								that.unionid = cts.data.unionid;     // unionid 开放平台唯一标识
								that.session_key = cts.data.session_key;    // session_key  会话密钥								
							}
						});	            
			        }
			    });
			},
			getUserProfile() {
				// 获取用户信息
				let that = this;
				uni.getUserProfile({
				    provider: 'weixin',
					lang: 'zh_CN',
					desc: '完善用户资料',
				    success: function(infoRes) {
						console.log('获得用户信息：' + JSON.stringify(infoRes));
				        // console.log('获得用户信息：' + JSON.stringify(infoRes.userInfo));
						that.touxiang = infoRes.userInfo.avatarUrl;
						that.username = infoRes.userInfo.nickName;
						that.sex = infoRes.userInfo.gender;
						that.province = infoRes.userInfo.province;
						that.city = infoRes.userInfo.city;
						
						that.wxusers(infoRes.userInfo); // 记录微信注册的用户信息
						that.regphonenumber(); // 去绑定你的手机号
				    }
				});
			},
			wxusers(userInfo) {
				// 记录微信注册的用户信息
				uni.request({
					url: 'https://www.yedushu.cn/api/wxusers', //  记录微信注册的用户信息
					method:'POST',
					data: {
						wxusers: userInfo, 
						openid: this.openid,
						unionid: this.unionid,
						session_key: this.session_key,
					},
					success: (res) => {
						if(res.data == 1)
						{
							console.log('微信数据保存成功');
						}
						if(res.data == 2)
						{
							console.log('微信数据已经存在');
						}	
					}
				});	
			},
			regphonenumber() {
				uni.request({
					url: 'https://www.yedushu.cn/api/wxlogin', // 获得微信登录（openid）的用户信息
					method:'POST',
					data: {
						openid: this.openid,
					},
					success: (res) => {
						console.log(res.data);
						if(res.data == '')
						{
							// 去绑定你的手机号
							uni.navigateTo({
							    url: 'regphonenumber?openid=' + this.openid + '&unionid=' + this.unionid + '&username=' + this.username + '&touxiang=' + this.touxiang + '&sex=' + this.sex + '&province=' + this.province + '&city=' + this.city
							});
						}else {
							// 存储登录状态
							uni.setStorageSync('haslogin', true);
							// 储存用户数据
							uni.setStorageSync('userinfo', res.data);
							// 登录成功，跳转到会员中心
							uni.switchTab({ // 只可以跳转到tab的页面
							    url: '../books/myself',
								success(){
									let page = getCurrentPages().pop(); //跳转页面成功之后
									if (!page) return; 
										page.onLoad(); //如果页面存在，则重新刷新页面
									}
							});
						}						
					}
				});				
			},
		}
	}
</script>

<style>
	.content {
		display: flex;
		flex-direction: column;
		text-align: center;
		padding: 10px 10px;
	}
	.denglutitle {
		font-size: 26px;
		padding-top: 30px;
	}
	.denglufangshi {
		display: flex;
		flex-direction: column;
		padding: 30px 30px 0 30px;
	}
	.wxlogin {
		background-color: #00cc33;
		padding: 10px 10px;
		border-radius: 5px;
		font-size: 15px;;
		color: #FFFFFF;
	}
	.zhlogin {
		margin-top: 10px;
		background-color: #f4f4f4;
		border: 1px solid #ccc;
		padding: 10px 10px;
		border-radius: 5px;
		font-size: 15px;
	}
</style>
